package com.example.clxy.dao;

import com.example.clxy.entity.InnovationStudentGx;
import com.example.clxy.entity.InnovationStudentGxKey;
import com.example.clxy.result.business.PageResult.InnovationStudentPageResult;
import com.example.clxy.result.business.StudentInnovationResult;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface InnovationStudentGxMapper {
    int deleteByPrimaryKey(InnovationStudentGxKey key);

    int insert(InnovationStudentGx record);

    int insertSelective(InnovationStudentGx record);

    InnovationStudentGx selectByPrimaryKey(InnovationStudentGxKey key);

    int updateByPrimaryKeySelective(InnovationStudentGx record);

    int updateByPrimaryKey(InnovationStudentGx record);

    String getInnovationStudentFilePath(@Param("innovationid") String innovationid, @Param("studentid") String studentid);

    int approveInnovationByTeacher(@Param("innovationid") String innovationid,
                                   @Param("studentid") String studentid,
                                   @Param("applystatus") String applystatus,
                                   @Param("rejectreason") String rejectreason);

    List<StudentInnovationResult> getInnovationStudentListById(String innovationid);

    StudentInnovationResult getInnovationStudentInfobyId(@Param("innovationid") String innovationid,@Param("studentid") String studentid);

    int getApplyNumById(@Param("innovationid") String innovationid);

    int getCurnumById(@Param("innovationid") String innovationid);

    int uploadProjectfileByStudent(@Param("innovationid") String innovationid,
                                   @Param("userid") String userid,
                                   @Param("projectfile") String projectfile,
                                   @Param("filename") String filename);


}